home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 101-125 / disk_105 / bison / calc.action.c < prev    next >
Text File  |  1992-05-06  |  1KB  |  71 lines

  1.  
  2.   switch (yyn) {
  3.  
  4. case 1:
  5. #line 25 "calc.y"
  6. { val = yyvsp[0]; printflag = 1; ;
  7.     break;}
  8. case 2:
  9. #line 27 "calc.y"
  10. { regs[yyvsp[-2]] = yyvsp[0]; ;
  11.     break;}
  12. case 3:
  13. #line 29 "calc.y"
  14. { exit(0); ;
  15.     break;}
  16. case 4:
  17. #line 33 "calc.y"
  18. { yyval = yyvsp[-1]; ;
  19.     break;}
  20. case 5:
  21. #line 35 "calc.y"
  22. { if (yyvsp[-2] == 69)
  23.                 {
  24.                   yyval = 2;
  25.                   printf ("$1 became %d\n", yyvsp[-2]);
  26.                   yyvsp[-2] = 69;
  27.                 }
  28.               yyval = yyvsp[-2] + yyvsp[0]; ;
  29.     break;}
  30. case 6:
  31. #line 43 "calc.y"
  32. { yyval = yyvsp[-2] - yyvsp[0]; ;
  33.     break;}
  34. case 7:
  35. #line 45 "calc.y"
  36. { yyval = yyvsp[-2] * yyvsp[0]; ;
  37.     break;}
  38. case 8:
  39. #line 47 "calc.y"
  40. { yyval = yyvsp[-2] / yyvsp[0]; ;
  41.     break;}
  42. case 9:
  43. #line 49 "calc.y"
  44. { yyval = yyvsp[-2] % yyvsp[0]; ;
  45.     break;}
  46. case 10:
  47. #line 51 "calc.y"
  48. { yyval = yyvsp[-2] | yyvsp[0]; ;
  49.     break;}
  50. case 11:
  51. #line 53 "calc.y"
  52. { yyval = yyvsp[-2] & yyvsp[0]; ;
  53.     break;}
  54. case 12:
  55. #line 55 "calc.y"
  56. { yyval = - yyvsp[0]; ;
  57.     break;}
  58. case 13:
  59. #line 57 "calc.y"
  60. { yyval = regs[yyvsp[0]]; ;
  61.     break;}
  62. case 15:
  63. #line 64 "calc.y"
  64. { yyval = yyvsp[0];  base = (yyvsp[0] == 0) ? 8 : 10; ;
  65.     break;}
  66. case 16:
  67. #line 66 "calc.y"
  68. { yyval = base * yyvsp[-1] + yyvsp[0]; ;
  69.     break;}
  70. }
  71.